package com.kolon.business.mngr.client.dao;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Component;

import com.kolon.framework.interfaces.AbstractDao;

/**
 *	ClientDaoImpl class
 *	@author Stone
 *	@since 2011.08.11
 */
@SuppressWarnings("rawtypes")
@Component("com.kolon.business.mngr.client.dao.ClientDaoImpl")
public class ClientDaoImpl extends AbstractDao implements ClientDao {
	
	
	/**
	 * 히스토리 체크 버전 조회
	 */
	public int getAppHstyCnt(Map map) throws SQLException {
		return getCount("mngr.client.getAppHstyCnt", map);
	}
	
	/**
	 * 클라이언트 정보 조회
	 */
	public Map getMap(Map map) throws SQLException {
		return getMap("mngr.client.getMap", map);
	}
	
	/**
	 * 클라이언트 히스토리 앱 정보 조회
	 */
	public Map getHstyCntMap(Map map) throws SQLException {
		return getMap("mngr.client.getHstyCntMap", map);
	}
	
	/**
	 * 클라이언트 히스토리 앱 목록 조회
	 */
	public List getHstyCntList(Map map) throws SQLException {
		return getList("mngr.client.getHstyCntList", map);
	}
	
	/**
	 * 클라이언트 시퀀스를 얻음
	 */
	public Map getMax() throws SQLException {
		return getMap("mngr.client.getMax", null);
	}
	
	/**
	 * 클라이언트 히스토리 앱 시퀀스를 얻음
	 */
	public Map getHstyCntMax() throws SQLException {
		return getMap("mngr.client.getHstyCntMax", null);
	}
	
	/**
	 * 클라이언트 등록
	 */
	public void insert(Map map) throws SQLException {
		insert("mngr.client.insert", map);
	}
	
	/**
	 * 클라이언트 히스토리 앱 정보 등록
	 */
	public void insertHstyCntInfo(Map map) throws SQLException {
		insert("mngr.client.insertHstyCntInfo", map);
	}
	
	/**
	 * 클라이언트 수정
	 */
	public void update(Map map) throws SQLException {
		update("mngr.client.update", map);
	}

	/**
	 * 클라이언트 업그레이드 수정
	 */
	public void upgrade(Map map) throws SQLException {
		update("mngr.client.upgrade", map);
	}
	
	/**
	 * 클라이언트 히스토리 앱 삭제
	 */
	public void deleteHstyCntInfo(Map map) throws SQLException {
		delete("mngr.client.deleteHstyCntInfo", map);
	}
	
	/**
	 * 클라이언트 앱 삭제
	 */
	public void delete(Map map) throws SQLException {
		delete("mngr.client.delete", map);
		delete("mngr.client.deleteHstyCnt", map);
	}

}
